package a00_ImageGame.Test;

import javax.swing.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

/**
 * @Author quan
 * @Description 键盘监听机制
 * @Date 2023/3/7 11:07
 */
//--------实现接口
public class MyKeyListener extends JFrame implements KeyListener {
    public MyKeyListener() {//-----类
        this.setSize(100,200);
        this.setTitle("事件演示");
        this.setAlwaysOnTop(true);
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        this.setLayout(null);

        //----------绑定事件到按钮中
//        这里不是用jButton来绑定事件了
//        对于键盘监听，则是对整个界面都绑定事件，因此用this
        this.addKeyListener(this);
        this.setVisible(true);
    }

    //------重写接口中的方法
    @Override
    public void keyTyped(KeyEvent e) {
        System.out.println("111");
    }

    @Override
    public void keyPressed(KeyEvent e) {
        System.out.println("222");
    }

    @Override
    public void keyReleased(KeyEvent e) {
        System.out.println("333");
//        e.getKeyCode();//可以获取键盘上的编号数字
        if(e.getKeyCode()==65){
            System.out.println('A');
        }
    }

    public static void main(String[] args) {
        new MyKeyListener();
    }
}
